package com.sky.loveshop.api;

import lombok.Data;

import java.util.Date;
import java.util.List;

/**
 * @author xcy
 * @version V1.0
 * @description 外送帮订单
 * @date 2024/9/11 22:17
 */
public interface MeiTuanOrderRequest {

    @Data
    class CreateStoreRequest {
        /**
         * 申请应用app_key
         */
        String app_key;
        /**
         * 秒级时间戳
         */
        Long timestamp;
        /**
         * 版本 固定传1.0
         */
        String version;
        /**
         * sign 签名
         */
        String sign;
        /**
         * 门店名称
         */
        String name;
        /**
         * 店主姓名
         */
        String owner_name;
        /**
         * 商户注册手机号码
         */
        String tel;
        /**
         * 门店电话（支持座机号，例如：020-28989898-189）
         */
        String store_tel;
        /**
         * 门店所属城市，例如：长沙
         */
        String city;
        /**
         * 门店所属城市区域，例如：天心区
         */
        String area;
        /**
         * 门店详细地址
         */
        String address;
        /**
         * 门店经度
         */
        Float lng;
        /**
         * 门店维度
         */
        Float lat;
        /**
         * 门店开始营业时间，格式：时:分:秒
         */
        String open_start;
        /**
         * 门店结束营业时间，格式：时:分:秒
         */
        String open_end;
        /**
         * 门店售卖品类 门店售卖品类对照表 ，默认是9对应菜市场品类，建议创建门店设定好品类
         */
        Integer sale_category;
    }

    @Data
    class CreateOrderRequest {
        /**
         * 申请应用app_key
         */
        String app_key;
        /**
         * 秒级时间戳
         */
        Long timestamp;
        /**
         * 版本 固定传1.0
         */
        String version;
        /**
         * sign 签名
         */
        String sign;
        /**
         * 门店id
         */
        Integer store_id;
        /**
         * 收货人姓名/昵称
         */
        String receiver_name;
        /**
         * 收货人详细地址
         */
        String receiver_address;
        /**
         * 收货人电话
         */
        String receiver_phone;
        /**
         * 收货人备用电话
         */
        String receiver_backup_phone;
        /**
         * 收货人经度
         */
        Float receiver_lng;
        /**
         * 收货人纬度
         */
        Float receiver_lat;
        /**
         * 平台订单号
         */
        String platform_order_id;
        /**
         * 当日订单序号
         */
        Integer platform_day_id;
        /**
         * 订单重量，单位kg，最小为1
         */
        Integer order_weight;
        /**
         * 订单备注
         */
        String remark;
        /**
         * 下单时间，如果不填写，则为当前时间
         */
        Date order_time;
        /**
         * 订单金额，单位元，精确两位小数
         */
        String order_amount;
        /**
         * 预计送达时间
         */
        Date expect_time;
        /**
         * 是否自提； 是 1， 否0，默认为0
         */
        Integer pick_up;
        /**
         * 开票信息：纳税人识别号
         */
        String taxer_id;
        /**
         * 开票信息：发票抬头
         */
        String invoice;
        /**
         * 开票信息：发票金额，单位元，精确两位小数
         */
        Float invoice_amount;
        /**
         * 商品信息List
         */
        List<orderItems> order_items;
    }

    /**
     * 商品信息
     */
    @Data
    class orderItems {
        /**
         * 商品数量
         */
        private int num;
        /**
         * 商品规格id
         */
        private int sku_id;
    }

    @Data
    class PullOrderRequest {
        /**
         * 申请应用app_key
         */
        String app_key;
        /**
         * 订单状态，1：待接单，2：已接单，3：配送中，4：已送达，5：已取消，8：异常订单。
         * 注：该状态不回转，不能根据该状态判定订单的配送状态，可根据deliver_status判定配送状态
         */
        Integer order_status;
        /**
         * 订单配送状态，1：待接单/转单，2：待取货/已接单，3：配送中，4：配送完成，5：配送取消 ？文档到底对不对？
         * 运单状态：创建=0,已接单=1,已取货=2,在途=3,完成=4,已取消=5
         */
        Integer deliver_status;
        /**
         * 门店id
         */
        Integer store_id;
        /**
         * 秒级时间戳
         */
        Long timestamp;
        /**
         * 版本 固定传1.0
         */
        String version;
        /**
         * 页码，默认为1
         */
        Integer page;
        /**
         * 分页大小，默认为30，最大不能超过200
         */
        Integer page_size;
        /**
         * 搜索开始日期，格式，2020-01-02
         */
        //Date start_time;
        String start_time;
        /**
         * 搜索结束日期，格式，2020-01-02
         */
        //Date end_time;
        String end_time;
        /**
         * 外送帮订单号
         */
        Integer orderId;
        /**
         * 平台订单号
         */
        String platform_order_id;
        /**
         * 平台日订单序号
         */
        Integer platform_day_id;
        /**
         * sign 签名
         */
        String sign;
    }

    @Data
    class PullDeliverRecordsRequest {
        /**
         * 申请应用app_key
         */
        String app_key;
        /**
         * 秒级时间戳
         */
        Long timestamp;
        /**
         * 版本 固定传1.0
         */
        String version;
        /**
         * sign 签名
         */
        String sign;
    }

}
